home *** CD-ROM | disk | FTP | other *** search
/ Aminet 25 / Aminet 25 (1998)(GTI - Schatztruhe)[!][Jun 1998].iso / Aminet / util / time / backclock.lha / BackClock / sources / utils.h < prev   
C/C++ Source or Header  |  1998-04-10  |  4KB  |  129 lines

  1. #ifndef __UTILS_H
  2. #define __UTILS_H
  3.  
  4. #include <intuition/intuition.h>
  5. #include <devices/timer.h>
  6. #include <exec/ports.h>
  7. #include <dos/dos.h>
  8. #include <dos/dosextens.h>
  9. #include <libraries/notifyintuition.h>
  10. #include <workbench/startup.h>
  11.  
  12. #define ERRORNOMEM  1
  13. #define ERRORNOPORT 2
  14. #define ERRORUNKNOWNCMD 3
  15. #define OK         -1
  16. #define TITLE      "BackClock V2.0"
  17.  
  18.  
  19. struct RGB {
  20.   UBYTE R,
  21.         G,
  22.         B,
  23.         pad ;
  24.   ULONG reg ;
  25. } ;
  26. #define NUM_COLORS 4
  27. #define COL_SEC    0
  28. #define COL_MIN    1
  29. #define COL_HEU    2
  30. #define COL_TIC    3
  31.  
  32. #define IDCMP IDCMP_CHANGEWINDOW|IDCMP_NEWSIZE
  33.  
  34. struct specWin {
  35.   ULONG posX ;
  36.   ULONG posY ;
  37.   ULONG width ;
  38.   ULONG height ;
  39.   struct RGB cmap[NUM_COLORS] ;  
  40. } ;
  41.  
  42. struct prjSt {
  43.   struct Window * win ;                   // remplit par OpenWindow()
  44.   struct DateStamp * date ;                                     // date au format interne
  45.   char   datestr[10] ;                                                                  // date au format ASCII
  46.   UBYTE  heu ;                                                                                          // heure
  47.   UBYTE  min ;                                                                                          // minute
  48.   UBYTE  sec ;                                                                                          // secondes
  49.   UBYTE  oldH ;                                                                                 // derniere heure affichée
  50.   UBYTE  oldM ;                                                                                 //     "     min      " 
  51.   UBYTE  oldS ;                                                                                 //     "     sec      " 
  52.   struct timerequest * treq ;                                                   // requete I/O timer.device
  53.   struct MsgPort     * trport ;                                         // port rply timer
  54.   UBYTE  timerok ;                                                                              // ouverture timer ok
  55.   struct IntNotifyRequest * Notify ;                            // requete notify
  56.   struct MsgPort          * notifyPort ;                        // port reply notify
  57.   struct specWin backWin ;
  58.   ULONG  lastError ;
  59.   struct Screen * wb ;                          // lock to WB
  60.   struct RastPort * RP1 ;                       // tmp rp 1
  61.   struct RastPort * RP2 ;                       // tmp rp 2
  62. } ;
  63. struct backMsg {
  64.   struct Message execmsg ;
  65.   ULONG Class ; 
  66.   APTR  ptrPrj ; // pointeur sur prj à retourner lors d'un BC_GetPrj
  67.   LONG  error ;  // contient l'erreur de retour
  68. } ;
  69.  
  70. /* differentes classes
  71.  */
  72. #define BC_Quit          0x00000001 // recu demande d'arret externe
  73. #define BC_GetPrj        0x00000002 // recu l'envoi adresse prj
  74. #define BC_Refresh       0x00000003 // recu demande de rafraichissement
  75. #define BC_SaveConf      0x00000004 // reçu demande de sauvegarde prefs
  76. #define BC_UseConf       0x00000005 // reçu demande d'utiliser nouvelle prefs
  77. #define BC_SetWindow     0x00000006 // pos & taille window changées
  78. #define BC_RefreshColors 0x00000007 // colors changed
  79.  
  80. typedef prjSt idWin ;
  81.  
  82. // gadget systemes
  83. struct Gadget szgdg = {
  84.   NULL,
  85.   0,0, 100, 15,
  86.   GFLG_GADGHNONE,
  87.   GACT_RELVERIFY,
  88.   GTYP_WDRAGGING,
  89.   NULL,
  90.   NULL,
  91.   NULL,
  92.   NULL,
  93.   NULL,
  94.   10,
  95.   NULL
  96. } ;
  97. struct Gadget tagdg = {
  98.   NULL,
  99.   0,0, 0, 0,
  100.   GFLG_GADGHNONE,
  101.   GACT_RELVERIFY,
  102.   GTYP_SIZING,
  103.   NULL,
  104.   NULL,
  105.   NULL,
  106.   NULL,
  107.   NULL,
  108.   11,
  109.   NULL
  110. } ;
  111. ULONG top = NULL ;
  112.  
  113.  
  114. // proto  
  115. idWin * init(WBArg *) ;
  116. void close(idWin *) ;
  117. void getDate(idWin *) ;
  118. void writeDate(idWin *) ;
  119. extern void DateToByte(register __a0 char *, register __a1 idWin *) ;
  120. void initwin(idWin * prj) ;
  121. void processwin(idWin* prj) ;
  122. void effacer(idWin * prj) ;
  123. void retracer(idWin * prj) ;
  124. void runtimer(idWin * prj) ;
  125. void setArgs(idWin * prj, LONG * args) ;
  126. int exists() ;
  127. void ez_req(UBYTE *, UBYTE *, UBYTE *, APTR) ;
  128. #endif
  129.